"""
形态学：在图像处理技术中，有一些的操作会对图像的形态发生改变，
       这些操作一般称之为形态学操作（phology）。
       数学形态学是基于集合论的图像处理方法，最早出现在生物学的形态与结构中，
       图像处理中的形态学操作用于图像与处理操作（去噪，形状简化）图像增强（骨架提取，细化，凸包及物体标记）、
       物体背景分割及物体形态量化等场景中，形态学操作的对象是二值化图像。

腐蚀：将物体的边缘加以腐蚀。
     具体的操作方法是拿一个宽m,高n的矩形作为模板，
     对图像中的每一个像素x做如下处理：
            像素x至于模板的中心，根据模版的大小，遍历所有被模板覆盖的其他像素，
            修改像素x的值为所有像素中最小的值。
            这样操作的结果是会将图像外围的突出点加以腐蚀。
"""
import cv2
import numpy as np
import matplotlib.pyplot as plt
 
img_path = "/Users/mac/Documents/Learning/LearningOpencv/datasets/1.jpg"

#载入原图
img = cv2.imread(img_path)

kernel = np.ones((3,3),np.uint8) 
erosion = cv2.erode(img,kernel,iterations = 1)
cv2.imshow('erosion', erosion)

kernel = np.ones((30,30),np.uint8) 
erosion_1 = cv2.erode(img,kernel,iterations = 1)
erosion_2 = cv2.erode(img,kernel,iterations = 2)
erosion_3 = cv2.erode(img,kernel,iterations = 3)
res = np.hstack((erosion_1,erosion_2,erosion_3))
cv2.imshow('res', res)
cv2.waitKey(0)
# cv2.destroyAllWindows()
